package com.mxpio.webapp.util;

import cn.hutool.core.io.unit.DataUnit;

import java.text.DecimalFormat;

/**
 * 可读的数据大小
 */
public class DataSizeUtil {

    private DataSizeUtil() {
    }

    /**
     * 私有化构造方法
     * @param size
     * @return
     */
    public static String format(double size) {
        if (size <= 0) {
            return "0";
        }
        int digitGroups = Math.min(DataUnit.UNIT_NAMES.length - 1, (int) (Math.log10(size) / Math.log10(1024)));
        return new DecimalFormat("#,##0.##")
                .format(size / Math.pow(1024, digitGroups)) + " " + DataUnit.UNIT_NAMES[digitGroups];
    }

}
